local 场景类_NPC活动对话 = class()
local format = string.format
local insert = table.insert
local ceil = math.ceil
local floor = math.floor
local wps = 取物品数据
local typ = type
local 五行_ = {
	"金",
	"木",
	"水",
	"火",
	"土"
}

function 场景类_NPC活动对话:初始化()
end

function 场景类_NPC活动对话:活动选项解析(连接id, 数字id, 序号, 内容)
	local 标识 = 玩家数据[数字id].地图单位.标识

	if 任务数据[玩家数据[数字id].地图单位.标识] == nil then
		return
	end

	local 类型 = 任务数据[玩家数据[数字id].地图单位.标识].类型
	local 事件 = 内容[1]
	local 名称 = 内容[3]

	if 取队长权限(数字id) == false then
		return
	end

	if 类型 == 4 then
		if 事件 == "交出宝藏" then
			if 玩家数据[数字id].队伍 ~= 0 then
				添加最后对话(数字id, "爬！年轻人不讲武德，还想组队欺负我？#4")
			else
				战斗准备类:创建战斗(数字id + 0, 100002, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil
			end

			return
		end
	elseif 类型 == 22 then
		if 任务数据[玩家数据[数字id].地图单位.标识].玩家id == 数字id then
			local 任务id = 玩家数据[数字id].地图单位.标识

			if 任务数据[任务id].阶段 < 4 and 任务数据[任务id].操作 then
				if 事件 == "给摇钱树浇水" then
					任务数据[任务id].浇水 = 任务数据[任务id].浇水 + 1
					任务数据[任务id].操作 = false
					任务数据[任务id].成功操作 = 任务数据[任务id].成功操作 + 1

					if 取随机数() >= 1 and 任务数据[任务id].刷出强盗 == nil then
						任务处理类:刷新摇钱树强盗(数字id, 任务id)
						添加最后对话(数字id, "你的摇钱树经过你的悉心照料又长高了一大截,并且吸引了附近的强盗前来抢劫。")
					else
						添加最后对话(数字id, "你的摇钱树经过你的悉心照料又长高了一大截")
					end
				elseif 事件 == "给摇钱树施肥" then
					任务数据[任务id].施肥 = 任务数据[任务id].施肥 + 1
					任务数据[任务id].操作 = false
					任务数据[任务id].成功操作 = 任务数据[任务id].成功操作 + 1

					if 取随机数() >= 1 and 任务数据[任务id].刷出强盗 == nil then
						任务处理类:刷新摇钱树强盗(数字id, 任务id)
						添加最后对话(数字id, "你的摇钱树经过你的悉心照料又长高了一大截,并且吸引了附近的强盗前来抢劫。")
					else
						添加最后对话(数字id, "你的摇钱树经过你的悉心照料又长高了一大截")
					end
				elseif 事件 == "给摇钱树除虫" then
					任务数据[任务id].除虫 = 任务数据[任务id].除虫 + 1
					任务数据[任务id].操作 = false
					任务数据[任务id].成功操作 = 任务数据[任务id].成功操作 + 1

					if 取随机数() >= 1 and 任务数据[任务id].刷出强盗 == nil then
						任务处理类:刷新摇钱树强盗(数字id, 任务id)
						添加最后对话(数字id, "你的摇钱树经过你的悉心照料又长高了一大截,并且吸引了附近的强盗前来抢劫。")
					else
						添加最后对话(数字id, "你的摇钱树经过你的悉心照料又长高了一大截")
					end
				end
			elseif 任务数据[任务id].阶段 == 5 and 任务数据[任务id].次数 > 0 and 事件 == "轻轻摇动" then
				任务处理类:添加摇钱树元宝任务(数字id, {
					x = 任务数据[任务id].x,
					y = 任务数据[任务id].y
				})

				任务数据[任务id].次数 = 任务数据[任务id].次数 - 1

				if 任务数据[任务id].次数 <= 0 then
					地图处理类:删除单位(任务数据[任务id].地图编号, 任务数据[任务id].单位编号)
					玩家数据[数字id].角色:取消任务(任务id)

					if 任务数据[任务id].刷出强盗 ~= nil then
						地图处理类:删除单位(任务数据[任务数据[任务id].刷出强盗].地图编号, 任务数据[任务数据[任务id].刷出强盗].单位编号)

						任务数据[任务数据[任务id].刷出强盗] = nil

						玩家数据[数字id].角色:取消任务(任务数据[任务id].刷出强盗)
					end

					任务数据[任务id] = nil
				else
					添加最后对话(数字id, format("你轻轻摇动了一下树枝，似乎掉下来一些东西。(你还可以摇动#R%s#W次)", 任务数据[任务id].次数))
				end
			end
		else
			发送数据(玩家数据[数字id].连接id, 1501, {
				内容 = "你是谁？我们认识吗#55",
				模型 = 任务数据[玩家数据[数字id].地图单位.标识].模型,
				名称 = 任务数据[玩家数据[数字id].地图单位.标识].名称
			})
		end
	elseif 类型 == 24 then
		if 任务数据[玩家数据[数字id].地图单位.标识].玩家id == 数字id and 事件 == "纳命来" then
			战斗准备类:创建战斗(数字id + 0, 100120, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil
		end
	elseif 类型 == 101 then
		if 事件 == "少说废话,开打" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/封妖活动最少要有三人")

				return
			end

			if 活动次数查询(数字id, "封妖战斗") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100004, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 102 then
		if 事件 == "我来领养你" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 ~= 0 then
				常规提示(数字id, "#Y/该任务不允许组队完成")

				return
			end

			if 取等级要求(数字id, 69) == false then
				常规提示(数字id, "#Y/至少要达到69级")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100005, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 104 then
		if 事件 == "请星君赐教" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战本星君最少要有三人")

				return
			end

			if 取等级要求(数字id, 30) == false then
				常规提示(数字id, "#Y/挑战本星君至少要达到30级")

				return
			end

			if 活动次数查询(数字id, "星宿") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100009, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 105 then
		if 事件 == "让我来收拾你" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/降服妖魔鬼怪最少要有三人")

				return
			end

			if 取等级要求(数字id, 30) == false then
				常规提示(数字id, "#Y/降服妖魔鬼怪至少要达到30级")

				return
			end

			if 活动次数查询(数字id, "妖魔鬼怪") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100010, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 106 then
		if 事件 == "请出招吧" then
			if 玩家数据[数字id].角色:取任务(107) == 0 then
				常规提示(数字id, "#Y/你没有领取这样的任务")

				return
			end

			if 活动次数查询(数字id, "门派闯关") == false then
				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/进行门派闯关活动最少必须由三人进行")

				return
			end

			if 取等级要求(数字id, 30) == false then
				常规提示(数字id, "#Y/进行门派闯关活动至少要达到30级")

				return
			end

			local 任务id = 玩家数据[数字id].角色:取任务(107)

			for n = 1, #队伍数据[玩家数据[数字id].队伍] do
				if 队伍处理类:取是否助战(玩家数据[数字id].队伍, n) == 0 and 玩家数据[队伍数据[玩家数据[数字id].队伍][n]].角色:取任务(107) ~= 任务id then
					常规提示(数字id, "#Y/队伍中有成员任务不一致")

					return
				end
			end

			战斗准备类:创建战斗(数字id + 0, 100011, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 108 then
		if 事件 == "我要报道" then
			if 玩家数据[数字id].角色:取任务(109) == 0 then
				常规提示(数字id, "#Y/你没有领取这样的任务")

				return
			end

			if 活动次数查询(数字id, "游泳比赛") == false then
				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/进行游泳比赛活动最少必须由三人进行")

				return
			end

			if 取等级要求(数字id, 30) == false then
				常规提示(数字id, "#Y/进行游泳比赛活动至少要达到30级")

				return
			end

			local 任务id = 玩家数据[数字id].角色:取任务(109)

			for n = 1, #队伍数据[玩家数据[数字id].队伍] do
				if 玩家数据[队伍数据[玩家数据[数字id].队伍][n]].角色:取任务(109) ~= 任务id then
					常规提示(数字id, "#Y/队伍中有成员任务不一致")

					return
				end
			end

			local 是否战斗 = false

			if 任务数据[玩家数据[数字id].角色:取任务(109)].战斗 or 取随机数() <= 60 then
				任务处理类:完成游泳任务(数字id)
			else
				战斗准备类:创建战斗(数字id + 0, 100012, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil
			end

			return
		end
	elseif 类型 == 110 then
		if 事件 == "放肆，看我怎么收拾你" then
			if 玩家数据[数字id].队伍 ~= 0 then
				常规提示(数字id, "#Y/该任务不允许组队完成")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100013, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		elseif 事件 == "请接收物资" then
			任务处理类:完成官职任务(数字id, 2)
		end
	elseif 类型 == 111 then
		if 事件 == "放肆，找打" then
			战斗准备类:创建战斗(数字id + 0, 100016, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		elseif 事件 == "不要怕，我来帮你" then
			if 玩家数据[数字id].队伍 ~= 0 then
				常规提示(数字id, "#Y/该任务不允许组队完成")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100017, 玩家数据[数字id].地图单位.标识)

			玩家数据[数字id].地图单位 = nil

			return
		elseif 事件 == "手底下分高低" then
			战斗准备类:创建战斗(数字id + 0, 100018, 玩家数据[数字id].地图单位.标识)

			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 9002 then
		if 事件 == "交出宝贝" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == nil or 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y/请先组队！")

				return
			elseif 取队伍最低等级(玩家数据[数字id].队伍, 99) then
				常规提示(id, "#Y/队伍里有等级小于99级的玩家。")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100008.2, 标识)

			任务数据[标识].战斗 = true
			玩家数据[数字id].地图单位 = nil
		end
	elseif 类型 == 9000 then
		if 事件 == "速速束手就擒！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == nil or 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y/请先组队！")

				return
			end

			local 符合 = false

			for n = 1, #任务数据[标识].队伍组 do
				if 任务数据[标识].队伍组[n] == 数字id then
					符合 = true
				end
			end

			if 符合 then
				战斗准备类:创建战斗(数字id + 0, 100008.1, 标识)

				任务数据[标识].战斗 = true
				玩家数据[数字id].地图单位 = nil
			else
				发送数据(玩家数据[数字id].连接id, 1501, {
					内容 = "#55看什么看？没看过像我这么帅气的鬼王吗！",
					模型 = 任务数据[标识].模型,
					名称 = 任务数据[标识].名称
				})
			end

			return
		end
	elseif 类型 == 8 then
		if 事件 == "回你的地狱去" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == nil or 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y/请先组队！")

				return
			end

			local 符合 = false

			for n = 1, #任务数据[玩家数据[数字id].地图单位.标识].队伍组 do
				if 任务数据[玩家数据[数字id].地图单位.标识].队伍组[n] == 数字id then
					符合 = true
				end
			end

			if 符合 then
				战斗准备类:创建战斗(数字id + 0, 100008, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil
			else
				发送数据(玩家数据[数字id].连接id, 1501, {
					内容 = "你是谁？我们认识吗#55",
					模型 = 任务数据[玩家数据[数字id].地图单位.标识].模型,
					名称 = 任务数据[玩家数据[数字id].地图单位.标识].名称
				})
			end

			return
		end
	elseif 类型 == 11 then
		if 事件 == "嗯，你是磊落的侠客，失敬失敬！" or 事件 == "哼，你是真的盗贼，我要将你抓捕归案！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == nil or 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y/请先组队！")

				return
			end

			local 符合 = false

			for n = 1, #任务数据[玩家数据[数字id].地图单位.标识].队伍组 do
				if 任务数据[玩家数据[数字id].地图单位.标识].队伍组[n] == 数字id then
					符合 = true
				end
			end

			if 符合 then
				战斗准备类:创建战斗(数字id + 0, 100021, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil
			else
				发送数据(玩家数据[数字id].连接id, 1501, {
					内容 = "你是谁？我们认识吗#55",
					模型 = 任务数据[玩家数据[数字id].地图单位.标识].模型,
					名称 = 任务数据[玩家数据[数字id].地图单位.标识].名称
				})
			end

			return
		end
	elseif 类型 == 15 then
		if 事件 == "邪不胜正！束手就擒吧！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == nil or 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y/请先组队！")

				return
			end

			local 符合 = false

			for n = 1, #任务数据[玩家数据[数字id].地图单位.标识].队伍组 do
				if 任务数据[玩家数据[数字id].地图单位.标识].队伍组[n] == 数字id then
					符合 = true
				end
			end

			if 符合 then
				战斗准备类:创建战斗(数字id + 0, 100023, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil
			else
				发送数据(玩家数据[数字id].连接id, 1501, {
					内容 = "你是谁？我们认识吗#55",
					模型 = 任务数据[玩家数据[数字id].地图单位.标识].模型,
					名称 = 任务数据[玩家数据[数字id].地图单位.标识].名称
				})
			end

			return
		end
	elseif 类型 == 12 then
		if 事件 == "将偷盗的宝物交出来" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == nil or 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y/请先组队！")

				return
			end

			local 符合 = false

			for n = 1, #任务数据[玩家数据[数字id].地图单位.标识].队伍组 do
				if 任务数据[玩家数据[数字id].地图单位.标识].队伍组[n] == 数字id then
					符合 = true
				end
			end

			if 符合 then
				战斗准备类:创建战斗(数字id + 0, 100022, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil
			else
				发送数据(玩家数据[数字id].连接id, 1501, {
					内容 = "你是谁？我们认识吗#55",
					模型 = 任务数据[玩家数据[数字id].地图单位.标识].模型,
					名称 = 任务数据[玩家数据[数字id].地图单位.标识].名称
				})
			end

			return
		end
	elseif 类型 == 200 then
		if 事件 == "我要降服你" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 活动次数查询(数字id, "降妖伏魔") == false then
				return
			end

			if 玩家数据[数字id].队伍 == nil or 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y/请先组队！")

				return
			end

			local 符合 = false

			for n = 1, #任务数据[玩家数据[数字id].地图单位.标识].队伍组 do
				if 任务数据[玩家数据[数字id].地图单位.标识].队伍组[n] == 数字id then
					符合 = true
				end
			end

			if 符合 then
				战斗准备类:创建战斗(数字id + 0, 100242, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil
			else
				发送数据(玩家数据[数字id].连接id, 1501, {
					内容 = "你是谁？我们认识吗#55",
					模型 = 任务数据[玩家数据[数字id].地图单位.标识].模型,
					名称 = 任务数据[玩家数据[数字id].地图单位.标识].名称
				})
			end

			return
		end
	elseif 类型 == 201 then
		if 任务数据[玩家数据[数字id].地图单位.标识].名称 == "迷宫土地" then
			if 事件 == "我要离开本层迷宫" then
				local 传送地图 = 玩家数据[数字id].角色.数据.地图数据.编号

				if 任务数据[玩家数据[数字id].地图单位.标识].真假 then
					传送地图 = 传送地图 + 1
				else
					传送地图 = 传送地图 - 1
				end

				local xy = 地图处理类.地图坐标[传送地图]:取随机点()

				地图处理类:跳转地图(数字id, 传送地图, xy.x, xy.y)
				常规提示(数字id, "#Y你来到了#R" .. 取地图名称(传送地图))
			elseif 事件 == "我运气向来不错" then
				local 传送地图1 = 玩家数据[数字id].角色.数据.地图数据.编号
				local 传送地图 = 取随机数(1601, 1619)

				while 传送地图 == 传送地图1 do
					传送地图 = 取随机数(1601, 1619)
				end

				local xy = 地图处理类.地图坐标[传送地图]:取随机点()

				地图处理类:跳转地图(数字id, 传送地图, xy.x, xy.y)
				常规提示(数字id, "#Y你来到了#R" .. 取地图名称(传送地图))
			end
		elseif 任务数据[玩家数据[数字id].地图单位.标识].名称 == "迷宫守卫" and 事件 == "领取奖励" then
			玩家数据[数字id].道具:迷宫奖励(数字id)
		end
	elseif 类型 == 202.1 then
		if 事件 == "开启迷宫宝箱" then
			if 活动次数查询(数字id, "迷宫宝箱", "单人") == true and 扣除道具(数字id, "金钥匙", 1) then
				商店处理类:设置迷宫宝箱(数字id)
				发送数据(玩家数据[数字id].连接id, 85, {
					道具 = 神秘宝箱[数字id]
				})
				地图处理类:删除单位(任务数据[任务标识列表[数字id]].地图编号, 任务数据[任务标识列表[数字id]].单位编号)

				任务数据[任务标识列表[数字id]] = nil

				添加活动次数(数字id, "迷宫宝箱")
			end
		elseif 事件 == "开启十次迷宫宝箱" and 活动次数查询(数字id, "迷宫宝箱", "单人", 10) == true and 扣除道具(数字id, "金钥匙", 10) then
			for i = 1, 10 do
				商店处理类:设置迷宫宝箱(数字id)
				玩家数据[数字id].道具:迷宫宝箱处理(数字id, 数字id, 10)
			end

			地图处理类:删除单位(任务数据[任务标识列表[数字id]].地图编号, 任务数据[任务标识列表[数字id]].单位编号)

			任务数据[任务标识列表[数字id]] = nil

			添加活动次数(数字id, "迷宫宝箱", 10)
		end
	elseif 类型 == 5136 then
		if 事件 == "请送我出去" then
			if 玩家数据[数字id].队伍 == 0 then
				地图处理类:跳转地图(数字id, 1001, 116, 172)

				if 比武大会.比赛 then
					游戏活动类:比武大会中途退出(数字id)
				end
			else
				添加最后对话(数字id, "为了保障队伍中的其他成员利益，请先离开队伍吧。")

				return
			end
		end
	elseif 类型 == 205 then
		if 事件 == "休得在此放肆" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y降服妖王最少必须由三人进行")

				return
			end

			if 取等级要求(数字id, 30) == false then
				常规提示(数字id, "#Y/降服妖王至少要达到30级")

				return
			end

			if 活动次数查询(数字id, "妖王") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100020, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 209 then
		if 事件 == "我岂是贪污受贿之人" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 活动次数查询(数字id, "三界悬赏令") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100026, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		elseif 事件 == "既然如此，就留你一条活路" then
			玩家数据[数字id].角色:添加银子(200000, "三界悬赏令", 1)
			玩家数据[数字id].角色:取消任务(玩家数据[数字id].地图单位.标识)
			地图处理类:删除单位(任务数据[玩家数据[数字id].地图单位.标识].地图编号, 任务数据[玩家数据[数字id].地图单位.标识].单位编号)

			任务数据[玩家数据[数字id].地图单位.标识] = nil

			return
		end
	elseif 类型 == 206 then
		if 事件 == "我们准备好了" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y挑战世界BOSS最少必须由三人进行")

				return
			end

			if 取等级要求(数字id, 109) == false then
				常规提示(数字id, "#Y/队伍中有成员等级不符合要求")

				return
			end

			if 活动次数查询(数字id, "世界BOSS") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100024, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 210 then
		if 事件 == "知了还这么嚣张？讨打！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y挑战该活动最少必须由五人进行")

				return
			end

			if 取等级要求(数字id, 69) == false then
				常规提示(数字id, "#Y/队伍中有成员等级小于69级")

				return
			end

			if 活动次数查询(数字id, "知了王") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100027, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 344712 then
		if 事件 == "真是大言不惭" then
			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 34471.2, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 344713 then
		if 事件 == "怕你不成" then
			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 34471.3, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 123 then
		if 事件 == "送我进去" then
			地图处理类:跳转地图(数字id, 6002, 26, 58)

			玩家数据[数字id].地图单位 = nil
		end
	elseif 类型 == 124 then
		if 事件 == "哼，少废话，看打！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100029, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 125 then
		if 事件 == "休得在此作恶" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100030, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 126 then
		if 事件 == "我看你就是假的国王" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100031, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 100864 then
		if 事件 == "哪来的小毛贼？讨打！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			local aa = 任务数据[玩家数据[数字id].地图单位.标识].门派 .. ""

			if aa == "盘丝岭" then
				aa = "盘丝洞"
			end

			if 玩家数据[数字id].角色.数据.门派 ~= aa then
				添加最后对话(数字id, "多管闲事！滚！抢的又不是你家门派！#4")
			else
				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

				战斗准备类:创建战斗(数字id + 0, 34479.3, 标识)
			end
		end
	elseif 类型 == 100863 then
		if 事件 == "保家卫国、匹夫有责" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 取队伍人数(数字id) < 活动限制列表.突厥精英.人数 then
				常规提示(数字id, "#Y队伍人数低于#R" .. 活动限制列表.突厥精英.人数 .. "#Y人，无法进入战斗")
				添加最后对话(数字id, "滚！就这点儿人也敢来找大爷的麻烦！#28")

				return
			elseif qz1(取队伍平均等级(玩家数据[数字id].队伍, 数字id)) < 活动限制列表.突厥精英.等级 then
				常规提示(数字id, "#Y队伍平均等级小于#R" .. 活动限制列表.突厥精英.等级 .. "#Y级，无法进入战斗。")
				添加最后对话(数字id, "小屁孩！回去再练几年吧！#28")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 34479.2, 标识)

			return
		end
	elseif 类型 == 100862 then
		if 事件 == "太可疑了、受死" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 取队伍人数(数字id) < 活动限制列表.突厥探子.人数 then
				常规提示(数字id, "#Y队伍人数低于#R" .. 活动限制列表.突厥探子.人数 .. "#Y人，无法进入战斗")
				添加最后对话(数字id, "滚！就这点儿人也敢来找大爷的麻烦！#28")

				return
			elseif qz1(取队伍平均等级(玩家数据[数字id].队伍, 数字id)) < 活动限制列表.突厥探子.等级 then
				常规提示(数字id, "#Y队伍平均等级小于#R" .. 活动限制列表.突厥探子.等级 .. "#Y级，无法进入战斗。")
				添加最后对话(数字id, "小屁孩！回去再练几年吧！#28")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 34479.1, 标识)

			return
		end
	elseif 类型 == 100861 then
		if 事件 == "开启获得人物当前修炼" or 事件 == "开启获得宠物当前修炼" then
			local 修炼类型 = 1

			if string.find(事件, "宠物") then
				修炼类型 = 0
			end

			if 活动次数查询(数字id, "修炼宝箱", "单人", 1) and 任务数据[标识] ~= nil and 玩家数据[数字id].角色:扣除储备和银子(修炼宝箱消耗 * 10000, "修炼宝箱") then
				添加活动次数(数字id, "修炼宝箱")

				local 修炼经验 = 取修炼宝箱经验()

				if 活动初始次数.修炼宝箱 - 活动次数.修炼宝箱[数字id] <= 修炼宝箱加成个数 then
					修炼经验 = qz1(修炼经验 * 1.3)

					常规提示(数字id, "你额外获得了#R30%#Y修炼经验！")
				end

				if 修炼类型 == 1 then
					玩家数据[数字id].角色:添加人物修炼经验(数字id, 修炼经验)
				else
					玩家数据[数字id].角色:添加bb修炼经验(数字id, 修炼经验)
				end

				玩家数据[数字id].道具:开启修炼宝箱(数字id, 标识)
			end
		end
	elseif 类型 == 127 then
		if 事件 == "捡起来,放口袋里" then
			local x银子 = 取随机数(1000, 5000)

			玩家数据[数字id].角色:添加银子(x银子, "地图捡银子", 1)
			地图处理类:删除单位(任务数据[玩家数据[数字id].地图单位.标识].地图编号, 任务数据[玩家数据[数字id].地图单位.标识].单位编号)

			任务数据[玩家数据[数字id].地图单位.标识] = nil

			return
		elseif 事件 == "捡物品,放口袋里" then
			local x道具格子 = 玩家数据[数字id].角色:取道具格子()

			if x道具格子 == 0 then
				常规提示(数字id, "您的道具栏物品已经满啦")

				return
			end

			local x数量 = 取随机数(1, 10)
			local 临时品质 = 0
			local 临时等级 = 100
			local 物品表 = {
				"包子",
				"烤鸭",
				"佛跳墙",
				"臭豆腐",
				"烤肉"
			}
			local 临时物品 = 物品表[取随机数(1, #物品表)]
			local x模型 = 任务数据[玩家数据[数字id].地图单位.标识].模型

			if x模型 == "食物" then
				物品表 = {
					"包子",
					"烤鸭",
					"佛跳墙"
				}
				临时物品 = 物品表[取随机数(1, #物品表)]

				if 临时物品 ~= "包子" then
					x数量 = 1
					临时品质 = 取随机数(math.floor(临时等级 * 0.5), 临时等级)
				end
			elseif x模型 == "口粮" or x模型 == "摄妖香" or x模型 == "药品" then
				if x模型 == "药品" then
					物品表 = {
						"灵脂",
						"曼陀罗花",
						"鬼切草",
						"佛手",
						"四叶花",
						"鬼切草",
						"熊胆",
						"火凤之睛",
						"餐风饮露"
					}
					临时物品 = 物品表[取随机数(1, #物品表)]
					x数量 = 1
					临时品质 = 取随机数(math.floor(临时等级 * 0.5), 临时等级)
				else
					临时物品 = x模型
				end
			end

			地图处理类:删除单位(任务数据[玩家数据[数字id].地图单位.标识].地图编号, 任务数据[玩家数据[数字id].地图单位.标识].单位编号)

			任务数据[玩家数据[数字id].地图单位.标识] = nil

			常规提示(数字id, "#Y/恭喜你得到了" .. x数量 .. "个" .. 临时物品 .. "...")
			玩家数据[数字id].道具:给予道具(数字id, 临时物品, x数量, 临时品质)

			return
		elseif 事件 == "抓起来,做宠物" then
			if #玩家数据[数字id].召唤兽.数据 < 14 then
				local 种类 = false

				if ygsj() <= 3 then
					种类 = true
				end

				local x模型 = 任务数据[玩家数据[数字id].地图单位.标识].模型

				玩家数据[数字id].召唤兽:添加召唤兽(x模型, true, 种类, false, 0)

				if 种类 == true then
					常规提示(数字id, "#Y/你获得了一只变异" .. x模型)
				else
					常规提示(数字id, "#Y/你获得了一只" .. x模型)
				end

				地图处理类:删除单位(任务数据[玩家数据[数字id].地图单位.标识].地图编号, 任务数据[玩家数据[数字id].地图单位.标识].单位编号)

				任务数据[玩家数据[数字id].地图单位.标识] = nil
			else
				常规提示(数字id, "#Y/对不起!你携带的宝宝已经到达上限了.")
			end

			return
		end
	elseif 类型 == 128 then
		if 事件 == "神仙不做,看来我要抓你回天庭" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			if 取队伍最低等级(玩家数据[数字id].队伍, 39) then
				常规提示(数字id, "#Y队伍有玩家等级低于39级，无法进入战斗")

				return
			end

			if 活动次数查询(数字id, "天庭叛逆") == false then
				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100032, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 129 then
		if 事件 == "三天不打,你又上房揭瓦了?" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 1 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			if 取队伍最低等级(玩家数据[数字id].队伍, 40) then
				常规提示(数字id, "#Y队伍有玩家等级低于40级，无法进入战斗")

				return
			end

			if 活动次数查询(数字id, "捣乱的水果") == false then
				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100033, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 131 then
		if 玩家数据[数字id].车迟对话 then
			游戏活动类:车迟回答题目(数字id, 事件, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 132 then
		if 事件 == "送我过去" then
			local 副本id = 任务数据[玩家数据[数字id].地图单位.标识].副本id
			副本数据.车迟斗法.进行[副本id].进程 = 4

			任务处理类:设置车迟斗法副本(副本id)
			任务处理类:副本传送(数字id, 2)

			for n = 1, #队伍数据[玩家数据[数字id].队伍].成员数据 do
				if 队伍处理类:取是否助战(玩家数据[数字id].队伍, n) == 0 then
					玩家数据[队伍数据[玩家数据[数字id].队伍].成员数据[n]].角色:刷新任务跟踪()
				end
			end
		end
	elseif 类型 == 133 then
		if 事件 == "我来吃掉你" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100066, 玩家数据[数字id].地图单位.标识)
		end
	elseif 类型 == 134 then
		if 事件 == "妖怪找打" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100067, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 135 then
		if 事件 == "送我过去" then
			local 副本id = 任务数据[玩家数据[数字id].地图单位.标识].副本id
			副本数据.车迟斗法.进行[副本id].进程 = 6

			任务处理类:设置车迟斗法副本(副本id)
			任务处理类:副本传送(数字id, 2)

			for n = 1, #队伍数据[玩家数据[数字id].队伍].成员数据 do
				if 队伍处理类:取是否助战(玩家数据[数字id].队伍, n) == 0 then
					玩家数据[队伍数据[玩家数据[数字id].队伍].成员数据[n]].角色:刷新任务跟踪()
				end
			end
		end
	elseif 类型 == 136 then
		if 事件 == "送我过去" then
			地图处理类:跳转地图(数字id, 1070, 125, 144)
		end
	elseif 类型 == 137 then
		if 事件 == "上仙莫要助纣为虐" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100068, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 138 then
		if 事件 == "妖怪看打" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100069, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 140 then
		if 事件 == "在下心平气和，准备好变化(每次需要10点体力)" then
			if 玩家数据[数字id].角色.数据.体力 < 10 then
				添加最后对话(数字id, "你当前的体力不够，无法变化")

				return
			end

			if 玩家数据[数字id].角色.数据.变身数据 ~= nil then
				玩家数据[数字id].角色.数据.变身数据 = nil
				玩家数据[数字id].角色.数据.变异 = nil
				local 任务id = 玩家数据[数字id].角色:取任务(1)
				任务数据[任务id] = nil

				玩家数据[数字id].角色:取消任务(任务id)
			end

			local 造型 = 车迟变身卡范围[取随机数(1, #车迟变身卡范围)]
			玩家数据[数字id].角色.数据.体力 = 玩家数据[数字id].角色.数据.体力 - 10
			玩家数据[数字id].角色.数据.变身数据 = 造型
			玩家数据[数字id].角色.数据.变异 = true

			玩家数据[数字id].角色:刷新信息()
			发送数据(玩家数据[数字id].连接id, 37, {
				变身数据 = 玩家数据[数字id].角色.数据.变身数据,
				变异 = 玩家数据[数字id].角色.数据.变异
			})
			常规提示(数字id, "你心平气和，变化成功！回去找#R电母#Y吧！")
			发送数据(玩家数据[数字id].连接id, 5506, {
				玩家数据[数字id].角色:取气血数据()
			})
			发送数据(玩家数据[数字id].连接id, 12)
			任务处理类:添加变身(数字id, 9)
			地图处理类:更改模型(数字id, {
				玩家数据[数字id].角色.数据.变身数据,
				玩家数据[数字id].角色.数据.变异
			}, 1)
		end
	elseif 类型 == 141 then
		if 事件 == "不知悔改，看我如何收服你" then
			if 活动次数查询(数字id, "车迟副本") == false then
				return
			end

			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100070, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 151 then
		local 任务id = 玩家数据[数字id].角色:取任务(150)
		local 副本id = 任务数据[任务id].副本id

		if 事件 == "采摘木材" then
			if 取随机数() <= 50 then
				战斗准备类:创建战斗(数字id, 100112, 任务id)
			else
				任务数据[任务id].装潢 = 任务数据[任务id].装潢 + 2
				玩家数据[数字id].采摘木材 = nil
				副本数据.水陆大会.进行[副本id].装潢 = 副本数据.水陆大会.进行[副本id].装潢 + 2

				常规提示(数字id, "#Y完成了采摘木材，装潢任务进度+2")

				if 副本数据.水陆大会.进行[副本id].装潢 >= 10 and 副本数据.水陆大会.进行[副本id].邀请 >= 10 then
					for i, v in pairs(地图处理类.地图单位[6024]) do
						if 地图处理类.地图单位[6024][i].名称 == "蟠桃树" and 任务数据[地图处理类.地图单位[6024][i].id].副本id == 副本id then
							地图处理类:删除单位(6024, i)

							break
						end
					end

					副本数据.水陆大会.进行[副本id].进程 = 2

					任务处理类:设置水陆大会副本(副本id)
					发送数据(玩家数据[数字id].连接id, 1501, {
						名称 = "道场督僧",
						对话 = "感谢少侠为水陆大会建设做出的贡献，道场已经建设完毕",
						模型 = "男人_方丈"
					})
				end

				玩家数据[数字id].角色:刷新任务跟踪()
			end
		end
	elseif 类型 == 154 then
		if 事件 == "妖怪看打" then
			local 副本id = 任务数据[玩家数据[数字id].角色:取任务(150)].副本id

			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			if 任务数据[玩家数据[数字id].地图单位.标识].名称 == "翼虎将军" then
				if 副本数据.水陆大会.进行[副本id].翼虎 then
					if 副本数据.水陆大会.进行[副本id].击败翼虎 then
						添加最后对话(数字id + 0, "少侠饶命！我再也不敢了")
					elseif 副本数据.水陆大会.进行[副本id].袈裟 then
						任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

						战斗准备类:创建战斗(数字id + 0, 100116, 玩家数据[数字id].地图单位.标识)
					else
						添加最后对话(数字id + 0, "只有找到观音的袈裟才能降服我")
					end
				else
					任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

					战斗准备类:创建战斗(数字id + 0, 100114, 玩家数据[数字id].地图单位.标识)
				end
			elseif 副本数据.水陆大会.进行[副本id].蝰蛇 then
				if 副本数据.水陆大会.进行[副本id].击败蝰蛇 then
					添加最后对话(数字id + 0, "少侠饶命！我再也不敢了")
				elseif 副本数据.水陆大会.进行[副本id].锡杖 then
					任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

					战斗准备类:创建战斗(数字id + 0, 100117, 玩家数据[数字id].地图单位.标识)
				else
					添加最后对话(数字id + 0, "只有找到观音的锡杖才能降服我")
				end
			else
				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

				战斗准备类:创建战斗(数字id + 0, 100115, 玩家数据[数字id].地图单位.标识)
			end

			return
		end
	elseif 类型 == 156 then
		local 任务id = 玩家数据[数字id].角色:取任务(150)
		local 副本id = 任务数据[任务id].副本id

		if 事件 == "快送我过去" then
			if 副本数据.水陆大会.进行[副本id].进程 == 6 then
				副本数据.水陆大会.进行[副本id].进程 = 7

				任务处理类:设置水陆大会副本(副本id)
			end

			地图处理类:跳转地图(数字id, 6026, 54, 91)

			for n = 1, #队伍数据[玩家数据[数字id].队伍].成员数据 do
				if 队伍处理类:取是否助战(玩家数据[数字id].队伍, n) == 0 then
					玩家数据[队伍数据[玩家数据[数字id].队伍].成员数据[n]].角色:刷新任务跟踪()
				end
			end
		end
	elseif 类型 == 157 then
		if 事件 == "妖孽找死" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y队伍人数低于3人，无法进入战斗")

				return
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true

			战斗准备类:创建战斗(数字id + 0, 100118, 玩家数据[数字id].地图单位.标识)

			return
		end
	elseif 类型 == 158 then
		if 事件 == "除魔卫道是我们应尽的职责" then
			local 副本id = 任务数据[玩家数据[数字id].地图单位.标识].副本id
			local 任务id = 玩家数据[数字id].角色:取任务(150)

			for i = 1, #队伍数据[玩家数据[数字id].队伍].成员数据 do
				if 队伍处理类:取是否助战(玩家数据[数字id].队伍, i) == 0 then
					local id1 = 队伍数据[玩家数据[数字id].队伍].成员数据[i]

					通用给奖励(id1, {
						活跃度 = 10,
						副本积分 = 20,
						经验 = {
							2000,
							2200
						},
						银子 = {
							1500,
							1600
						},
						储备 = {
							550,
							600
						}
					}, "水陆大会")
					玩家数据[队伍数据[玩家数据[数字id].队伍].成员数据[i]].角色:取消任务(玩家数据[队伍数据[玩家数据[数字id].队伍].成员数据[i]].角色:取任务(150))

					任务数据[任务id] = nil
				end
			end

			地图处理类:跳转地图(数字id, 1001, 413, 70)
			删除副本地图单位(玩家数据[数字id].角色:取任务(150), {
				6024,
				6025,
				6026
			})
		end
	elseif 类型 == 161 then
		if 事件 == "好啊，快出题吧小考官。" then
			local 序列 = 取随机数(1, #科举题库)
			local 正确答案 = 科举题库[序列][4]
			local 随机答案 = {}

			for n = 2, 4 do
				随机答案[n - 1] = {
					答案 = 科举题库[序列][n],
					序列 = 取随机数(1, 9999)
				}
			end

			table.sort(随机答案, function (a, b)
				return b.序列 < a.序列
			end)

			local 显示答案 = {}

			for n = 1, 3 do
				显示答案[n] = 随机答案[n].答案
			end

			if 玩家数据[数字id].通天数据 == nil then
				玩家数据[数字id].通天数据 = {
					答案 = 0,
					正确答案 = 0,
					题目 = 0
				}
			end

			玩家数据[数字id].通天数据 = {
				题目 = 科举题库[序列][1],
				答案 = 显示答案,
				正确答案 = 正确答案,
				任务id = 玩家数据[数字id].地图单位.标识
			}
			玩家数据[数字id].通天对话 = true

			添加最后对话(数字id, format("#W/%s", 玩家数据[数字id].通天数据.题目), 玩家数据[数字id].通天数据.答案)
		end
	elseif 类型 == 162 then
		if 事件 == "好可爱的小朋友，看的我，变！(会取消原有的变身效果)" then
			local 副本id = 任务数据[玩家数据[数字id].地图单位.标识].副本id

			if 玩家数据[数字id].角色.数据.变身数据 == "小毛头" or 玩家数据[数字id].角色.数据.变身数据 == "小魔头" or 玩家数据[数字id].角色.数据.变身数据 == "小神灵" or 玩家数据[数字id].角色.数据.变身数据 == "小丫丫" or 玩家数据[数字id].角色.数据.变身数据 == "小精灵" or 玩家数据[数字id].角色.数据.变身数据 == "小仙女" then
				常规提示(数字id, "当前已经变化造型，无需再变化")
			else
				if 玩家数据[数字id].角色.数据.变身数据 ~= nil then
					玩家数据[数字id].角色.数据.变身数据 = nil
					玩家数据[数字id].角色.数据.变异 = nil
					local 任务id = 玩家数据[数字id].角色:取任务(1)
					任务数据[任务id] = nil

					玩家数据[数字id].角色:取消任务(任务id)
				end

				local 造型 = "小毛头"

				if 玩家数据[数字id].角色.数据.种族 == "仙" then
					if 玩家数据[数字id].角色.数据.性别 == "女" then
						造型 = "小仙女"
					else
						造型 = "小神灵"
					end
				elseif 玩家数据[数字id].角色.数据.种族 == "魔" then
					if 玩家数据[数字id].角色.数据.性别 == "女" then
						造型 = "小精灵"
					else
						造型 = "小魔头"
					end
				elseif 玩家数据[数字id].角色.数据.种族 == "人" and 玩家数据[数字id].角色.数据.性别 == "女" then
					造型 = "小丫丫"
				end

				玩家数据[数字id].角色.数据.变身数据 = 造型
				玩家数据[数字id].角色.数据.变异 = nil

				玩家数据[数字id].角色:刷新信息()
				发送数据(玩家数据[数字id].连接id, 37, {
					变身数据 = 玩家数据[数字id].角色.数据.变身数据,
					变异 = 玩家数据[数字id].角色.数据.变异
				})
				发送数据(玩家数据[数字id].连接id, 5506, {
					玩家数据[数字id].角色:取气血数据()
				})
				发送数据(玩家数据[数字id].连接id, 12)
				任务处理类:添加变身(数字id, 9)
				地图处理类:更改模型(数字id, {
					玩家数据[数字id].角色.数据.变身数据,
					玩家数据[数字id].角色.数据.变异
				}, 1)

				副本数据.通天河.进行[副本id].变身次数 = 副本数据.通天河.进行[副本id].变身次数 + 5

				if 副本数据.通天河.进行[副本id].变身次数 >= 5 then
					for i = 1, 2 do
						地图处理类:删除单位(任务数据[玩家数据[数字id].地图单位.标识].地图编号, 999 + i)
					end

					副本数据.通天河.进行[副本id].进程 = 3

					任务处理类:设置通天河副本(副本id)
				end

				for n = 1, #队伍数据[玩家数据[数字id].队伍].成员数据 do
					if 队伍处理类:取是否助战(玩家数据[数字id].队伍, n) == 0 then
						玩家数据[队伍数据[玩家数据[数字id].队伍].成员数据[n]].角色:刷新任务跟踪()
					end
				end
			end
		end
	elseif 类型 == 163 then
		if 事件 == "触摸灵灯" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战通天河最少要有3人")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100125, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 164 then
		if 事件 == "我这就前往" then
			local 副本id = 任务数据[玩家数据[数字id].地图单位.标识].副本id
			副本数据.通天河.进行[副本id].进程 = 5

			任务处理类:设置通天河副本(副本id)

			for n = 1, #队伍数据[玩家数据[数字id].队伍].成员数据 do
				if 队伍处理类:取是否助战(玩家数据[数字id].队伍, n) == 0 then
					玩家数据[队伍数据[玩家数据[数字id].队伍].成员数据[n]].角色:刷新任务跟踪()
				end
			end

			玩家数据[数字id].地图单位 = nil
		end
	elseif 类型 == 165 then
		if 事件 == "小小河妖还这么嚣张？讨打！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战通天河最少要有3人")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100126, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 166 then
		if 事件 == "那就得罪了" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战通天河最少要有3人")

				return
			end

			if 任务数据[玩家数据[数字id].地图单位.标识].名称 == "散财童子" then
				战斗准备类:创建战斗(数字id + 0, 100127, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil

				return
			else
				战斗准备类:创建战斗(数字id + 0, 100128, 玩家数据[数字id].地图单位.标识)

				任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
				玩家数据[数字id].地图单位 = nil

				return
			end
		end
	elseif 类型 == 169 then
		if 事件 == "妖孽受死" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战通天河最少要有3人")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100130, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 170 then
		if 事件 == "妖孽受死" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战通天河最少要有3人")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100135, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 304 then
		if 事件 == "我们准备好了" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 1 then
				常规提示(数字id, "#Y挑战地煞星最少必须由五人进行")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/挑战地煞星至少要达到60级")

				return
			end

			if 活动次数查询(数字id, "地煞星") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100037, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 305 then
		if 事件 == "小小先锋还这么嚣张？讨打！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y挑战该活动最少必须由五人进行")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/队伍中有成员等级不符合要求")

				return
			end

			if 活动次数查询(数字id, "知了先锋") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100038, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 306 then
		if 事件 == "小小知了还这么嚣张？讨打！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y挑战该活动最少必须由五人进行")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/队伍中有成员等级不符合要求(小于60级)")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100039, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 309 then
		if 事件 == "邪魔休要猖狂" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100045, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 310 then
		if 事件 == "小小土匪也敢欺压百姓" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100046, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 313 then
		if 事件 == "战胜心魔，战胜自己" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100047, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 314 then
		if 事件 == "请星君赐教" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 1 then
				常规提示(数字id, "#Y挑战天罡星最少必须由五人进行")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/队伍中有成员等级不符合要求(小于60级)")

				return
			end

			if 活动次数查询(数字id, "天罡星") == false then
				return
			end

			战斗准备类:创建战斗(数字id + 0, 100056, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 318 then
		if 事件 == "我来领取福利" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 玩家数据[数字id].队伍 ~= 0 then
				for i = 1, #队伍数据[玩家数据[数字id].队伍].成员数据 do
					if 新手活动[队伍数据[玩家数据[数字id].队伍].成员数据[i]] == nil then
						新手活动[队伍数据[玩家数据[数字id].队伍].成员数据[i]] = {
							次数 = 0
						}
					end

					if 新手活动[队伍数据[玩家数据[数字id].队伍].成员数据[i]] ~= nil and 新手活动[队伍数据[玩家数据[数字id].队伍].成员数据[i]].次数 >= 50 then
						常规提示(数字id, 玩家数据[队伍数据[玩家数据[数字id].队伍].成员数据[i]].角色.数据.名称 .. "#Y今天已经领满了新手福利")

						return
					end
				end
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/大于60级的玩家才能挑战哦")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100060, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 337 then
		if 事件 == "我来领取福利" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 取等级要求(数字id, 40) == false then
				常规提示(数字id, "#Y/大于40级的玩家才能挑战哦")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100084, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 348 then
		if 事件 == "喝就喝、谁怕谁" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100106, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 349 then
		if 事件 == "吃你个猪头啊，看打！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在与战斗中")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100107, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			任务数据[玩家数据[数字id].地图单位.标识].触发战斗玩家 = 数字id
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 350 then
		if 事件 == "会不会说人话" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100109, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 351 then
		if 事件 == "妖兽看招" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100110, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 352 then
		if 事件 == "泼猴看打" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100113, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 356 then
		if 事件 == "小小年兽" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 2 then
				常规提示(数字id, "#Y挑战次任务最少必须由两人进行")

				return
			end

			if 取等级要求(数字id, 50) == false then
				常规提示(数字id, "#Y/挑战小年兽至少要达到50级")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100122, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 357 then
		if 事件 == "打倒年兽" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 2 then
				常规提示(数字id, "#Y挑战次任务最少必须由两人进行")

				return
			end

			if 取等级要求(数字id, 69) == false then
				常规提示(数字id, "#Y/进挑战年兽王至少要达到69级")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100123, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 358 then
		if 事件 == "邪恶年兽休要猖狂" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 2 then
				常规提示(数字id, "#Y挑战次任务最少必须由两人进行")

				return
			end

			if 取等级要求(数字id, 任务数据[玩家数据[数字id].地图单位.标识].等级) == false then
				常规提示(数字id, "#Y/队伍中有成员等级不符合要求")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100124, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 193 then
		if 事件 == "我看谁敢" or 事件 == "我超出三界外，不在五行中，岂是你等能随便勾走的？！看招！" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 1 then
				常规提示(数字id, "#Y/此任务最少要有1人组队")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/挑战齐天大圣至少要达到60级")

				return
			end

			if 事件 == "我看谁敢" then
				战斗准备类:创建战斗(数字id + 0, 100214, 玩家数据[数字id].地图单位.标识)
			else
				战斗准备类:创建战斗(数字id + 0, 100214.1, 玩家数据[数字id].地图单位.标识)
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 195 then
		if 事件 == "找死" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/挑战大闹天宫至少要达到60级")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100217, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 197 then
		if 事件 == "口出狂言" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 1 then
				常规提示(数字id, "#Y/此任务最少要有1人组队")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/挑战大闹天宫至少要达到60级")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100218, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		elseif 事件 == "比划比划" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 1 then
				常规提示(数字id, "#Y/此任务最少要有1人组队")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/挑战大闹天宫至少要达到60级")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100219, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 185 then
		if 事件 == "定" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战此任务最少要有3人")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/挑战次任务至少要达到60级")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100149, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 187 then
		if 事件 == "吃老孙一棒" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战此任务最少要有3人")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/挑战次任务至少要达到60级")

				return
			end

			if 任务数据[玩家数据[数字id].地图单位.标识].名称 == "天兵统领" then
				战斗准备类:创建战斗(数字id + 0, 100154, 玩家数据[数字id].地图单位.标识)
			else
				战斗准备类:创建战斗(数字id + 0, 100155, 玩家数据[数字id].地图单位.标识)
			end

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 188 then
		if 事件 == "放马过来" then
			if 任务数据[玩家数据[数字id].地图单位.标识].战斗 ~= nil then
				常规提示(数字id, "#Y/对方正在战斗中")

				return
			end

			if 玩家数据[数字id].队伍 == 0 then
				常规提示(数字id, "#Y必须组队才能触发该活动")

				return
			end

			if 取队伍人数(数字id) < 3 then
				常规提示(数字id, "#Y/挑战此任务最少要有3人")

				return
			end

			if 取等级要求(数字id, 60) == false then
				常规提示(数字id, "#Y/挑战次任务至少要达到60级")

				return
			end

			战斗准备类:创建战斗(数字id + 0, 100156, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 8800 then
		if 事件 == "缩手缩脚的还当什么领头人，等本少侠出马，什么妖怪都被斩落马下!先走一步~你就慢慢等吧!" then
			玩家数据[数字id].角色.数据.剧情.渡劫 = 1

			任务处理类:取渡劫任务(数字id)
			添加最后对话(数字id, "啊，少侠、少侠……")
			地图处理类:删除单位(任务数据[玩家数据[数字id].地图单位.标识].地图编号, 任务数据[玩家数据[数字id].地图单位.标识].单位编号)
			玩家数据[数字id].角色:刷新任务跟踪()
		end
	elseif 类型 == 8804 then
		if 事件 == "突然打过来了快挡住！" then
			战斗准备类:创建战斗(数字id + 0, 100086, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 8808 then
		if 事件 == "你这个胡言乱语的混蛋！诬陷我！我砍了你！我要先砍了你！！放手！别阻止我！" then
			战斗准备类:创建战斗(数字id + 0, 100087, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 8810 then
		if 事件 == "我回去找找师傅" then
			地图处理类:删除单位(任务数据[玩家数据[数字id].地图单位.标识].地图编号, 任务数据[玩家数据[数字id].地图单位.标识].单位编号)

			玩家数据[数字id].角色.数据.剧情.渡劫 = 8

			任务处理类:取渡劫任务(数字id)
			玩家数据[数字id].角色:刷新任务跟踪()

			return
		end
	elseif 类型 == 8811 then
		if 事件 == "你这个胡言乱语的混蛋！诬陷我！师傅，他才是蚩尤派来破坏大阵的妖怪！" then
			战斗准备类:创建战斗(数字id + 0, 100089, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 8815 then
		if 事件 == "好，我们一起" then
			地图处理类:删除单位(任务数据[玩家数据[数字id].地图单位.标识].地图编号, 任务数据[玩家数据[数字id].地图单位.标识].单位编号)

			玩家数据[数字id].角色.数据.剧情.渡劫 = 11

			任务处理类:取渡劫任务(数字id)
			玩家数据[数字id].角色:刷新任务跟踪()

			return
		end
	elseif 类型 == 8816 then
		if 事件 == "已经找到了" then
			玩家数据[数字id].给予数据 = {
				id = 0,
				类型 = 1,
				事件 = "渡劫任务上交武器"
			}

			发送数据(玩家数据[数字id].连接id, 3507, {
				名称 = "妄空妖魔",
				类型 = "NPC",
				等级 = "无",
				道具 = 玩家数据[数字id].道具:索要道具1(数字id)
			})

			玩家数据[数字id].最后操作 = nil
			玩家数据[数字id].待删除单位 = {
				地图编号 = 任务数据[玩家数据[数字id].地图单位.标识].地图编号 + 0,
				单位编号 = 任务数据[玩家数据[数字id].地图单位.标识].单位编号 + 0
			}

			return
		end
	elseif 类型 == 8817 then
		if 事件 == "我这就去阻止蚩尤的阴谋" then
			if 玩家数据[数字id].角色.数据.剧情.渡劫 == 12 then
				地图处理类:跳转地图(数字id, 1206, 133, 81)

				玩家数据[数字id].角色.数据.剧情.渡劫 = 13

				任务处理类:取渡劫任务(数字id)
				玩家数据[数字id].角色:刷新任务跟踪()

				return
			elseif 玩家数据[数字id].角色.数据.剧情.渡劫 == 13 then
				地图处理类:跳转地图(数字id, 1206, 133, 81)

				return
			end
		end
	elseif 类型 == 8819 then
		if 事件 == "痴心妄想" then
			战斗准备类:创建战斗(数字id + 0, 100090, 玩家数据[数字id].地图单位.标识)

			任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
			玩家数据[数字id].地图单位 = nil

			return
		end
	elseif 类型 == 999888 and 事件 == "我要挑战你" then
		if 判断是否为空表(玩家数据[数字id].角色.数据.参战宝宝) then
			常规提示(数字id, "宝宝需要参战才能进入战斗")

			return
		end

		local 剑会假人属性 = {}
		local 武器伤害 = 0

		for n = 1, 5 do
			if 玩家数据[数字id].角色.数据.装备[3] ~= nil then
				local 临时武器 = table.loadstring(table.tostring(玩家数据[数字id].道具.数据[玩家数据[数字id].角色.数据.装备[3]]))
				武器伤害 = qz(临时武器.伤害 + 临时武器.命中 * 0.3)
			end

			剑会假人属性[#剑会假人属性 + 1] = {
				角色分类 = "角色",
				名称 = "梦幻群侠",
				模型 = 玩家数据[数字id].角色.数据.模型,
				等级 = 玩家数据[数字id].角色.数据.等级,
				气血 = 玩家数据[数字id].角色.数据.最大气血,
				魔法 = 玩家数据[数字id].角色.数据.最大魔法,
				伤害 = 玩家数据[数字id].角色.数据.伤害,
				灵力 = 玩家数据[数字id].角色.数据.灵力 + 玩家数据[数字id].角色.数据.法伤,
				速度 = 玩家数据[数字id].角色.数据.速度,
				防御 = 玩家数据[数字id].角色.数据.防御,
				法防 = 玩家数据[数字id].角色.数据.灵力 + 玩家数据[数字id].角色.数据.法防,
				攻击修炼 = 玩家数据[数字id].角色.数据.修炼.攻击修炼[1],
				法术修炼 = 玩家数据[数字id].角色.数据.修炼.法术修炼[1],
				防御修炼 = 玩家数据[数字id].角色.数据.修炼.防御修炼[1],
				抗法修炼 = 玩家数据[数字id].角色.数据.修炼.抗法修炼[1],
				门派 = 玩家数据[数字id].角色.数据.门派,
				五维属性 = {
					体质 = 玩家数据[数字id].角色.数据.体质,
					魔力 = 玩家数据[数字id].角色.数据.魔力,
					力量 = 玩家数据[数字id].角色.数据.力量,
					耐力 = 玩家数据[数字id].角色.数据.耐力,
					敏捷 = 玩家数据[数字id].角色.数据.敏捷
				},
				武器伤害 = 武器伤害,
				位置 = n
			}

			if not 判断是否为空表(玩家数据[数字id].角色.数据.参战宝宝) then
				剑会假人属性[#剑会假人属性 + 1] = {
					名称 = 玩家数据[数字id].角色.数据.参战宝宝.模型,
					模型 = 玩家数据[数字id].角色.数据.参战宝宝.模型,
					等级 = 玩家数据[数字id].角色.数据.参战宝宝.等级,
					气血 = 玩家数据[数字id].角色.数据.参战宝宝.最大气血,
					魔法 = 玩家数据[数字id].角色.数据.参战宝宝.最大魔法,
					伤害 = 玩家数据[数字id].角色.数据.参战宝宝.伤害,
					灵力 = 玩家数据[数字id].角色.数据.参战宝宝.灵力,
					速度 = 玩家数据[数字id].角色.数据.参战宝宝.速度,
					防御 = 玩家数据[数字id].角色.数据.参战宝宝.防御,
					法防 = 玩家数据[数字id].角色.数据.参战宝宝.灵力,
					攻击修炼 = 玩家数据[数字id].角色.数据.bb修炼.攻击控制力[1],
					法术修炼 = 玩家数据[数字id].角色.数据.bb修炼.法术控制力[1],
					防御修炼 = 玩家数据[数字id].角色.数据.bb修炼.防御控制力[1],
					抗法修炼 = 玩家数据[数字id].角色.数据.bb修炼.抗法控制力[1],
					技能 = 玩家数据[数字id].角色.数据.参战宝宝.技能,
					参战等级 = 玩家数据[数字id].角色.数据.参战宝宝.参战等级,
					五维属性 = {
						体质 = 玩家数据[数字id].角色.数据.参战宝宝.体质,
						魔力 = 玩家数据[数字id].角色.数据.参战宝宝.魔力,
						力量 = 玩家数据[数字id].角色.数据.参战宝宝.力量,
						耐力 = 玩家数据[数字id].角色.数据.参战宝宝.耐力,
						敏捷 = 玩家数据[数字id].角色.数据.参战宝宝.敏捷
					},
					内丹数据 = 玩家数据[数字id].角色.数据.参战宝宝.内丹数据,
					位置 = n + 5
				}
			end
		end

		战斗准备类:创建战斗(数字id + 0, 100222, 玩家数据[数字id].地图单位.标识, 任务id, 剑会假人属性)

		任务数据[玩家数据[数字id].地图单位.标识].战斗 = true
		玩家数据[数字id].地图单位 = nil

		return
	end
end

function 场景类_NPC活动对话:更新(dt)
end

function 场景类_NPC活动对话:显示(x, y)
end

return 场景类_NPC活动对话
